package com.study.spark.scala.chapter07

import scala.collection.mutable.ArrayBuffer

object Scala04_Collection_1{
  def main(args: Array[String]): Unit = {
    // TODO 集合 - 功能函数 - 扁平化
    // 将整体数据集拆分为个体的操作：扁平化
    val array = ArrayBuffer(ArrayBuffer(1,2,3),ArrayBuffer(4,5,6))
    println(array)//ArrayBuffer(ArrayBuffer(1, 2, 3), ArrayBuffer(4, 5, 6))
    println(array.flatten)//ArrayBuffer(1, 2, 3, 4, 5, 6)
    // 只能对外层进行操作，意思就是如果是三维数组
    // 就要迭代调用flatten方法两次才能扁平化成功

    // 自定义扁平化
    val str = Array("hello scala","hello hadoop")
    println(str.flatten.mkString(","))//h,e,l,l,o, ,s,c,a,l,a,h,e,l,l,o, ,h,a,d,o,o,p
    // 以空格分割，进行扁平化
    println(str.flatMap(s => {
      s.split(" ")
    }).mkString(","))//hello,scala,hello,hadoop

  }
}
